1 /** 2 * Types that identify events values 3 * 4 * Authors: 5 * Richard Andrew Cattermole 6 * 7 * License: 8 * The MIT License (MIT) 9 * 10 * Copyright (c) 2014 Devisualization (Richard Andrew Cattermole) 11 * 12 * Permission is hereby granted, free of charge, to any person obtaining a copy 13 * of this software and associated documentation files (the "Software"), to deal 14 * in the Software without restriction, including without limitation the rights 15 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 * copies of the Software, and to permit persons to whom the Software is 17 * furnished to do so, subject to the following conditions: 18 * 19 * The above copyright notice and this permission notice shall be included in all 20 * copies or substantial portions of the Software. 21 * 22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 27 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 28 * SOFTWARE. 29 */ 30 module devisualization.window.interfaces.events; 31 32 /** 33 * Identifies mouse buttons by name. 34 */ 35 enum MouseButtons { 36 Left, 37 Right, 38 Middle 39 } 40 41 /** 42 * Bitwised key modifiers. 43 * Expected to be combined to modify how a key is represented. 44 * 45 * See_Also: 46 * Keys 47 */ 48 enum KeyModifiers : ubyte { 49 None = 1 << 0, 50 Shift = 1 << 1, 51 Control = 1 << 2, 52 Alt = 1 << 3, 53 Super = 1 << 4 54 } 55 56 /** 57 * Known keys to be handled by most operating system using a 101 key keyboard. 58 */ 59 enum Keys { 60 Unknown, 61 F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, 62 A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, 63 Number0, Number1, Number2, Number3, Number4, Number5, Number6, Number7, Number8, Number9, 64 LeftBracket, RightBracket, Semicolon, Comma, Period, Quote, Slash, Backslash, Tilde, Equals, Hyphen, 65 Escape, Space, Enter, Backspace, Tab, PageUp, PageDown, End, Home, Insert, Delete, Pause, 66 Left, Right, Up, Down, 67 Numpad0, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9, 68 Add, Subtract, Multiply, Divide 69 }